With the growth of modem computing trends, there is an increased demand in portability and improved functionality in a handheld device, wherein a handheld device may be, but not limited to, a cellular phone, a personal digital assistant (PDA), a pager, a smart phone, or any other suitable portable electronic device capable of providing graphical interactivity, as recognized by one having ordinary skill in the art. Furthermore, with the convergence of handheld devices and stand alone computing systems, such as desktop or laptop computers, there is a greater demand for improved functionality and quality of interactivity between multiple handheld devices and also between the handheld device and the stand alone computing system.
An emerging area in handheld devices is the ability to acquire, render and transmit graphical and/or video images. One example of convergence of multiple technologies is the placement of cameras on the handheld devices. With these graphic intensive applications, there exist prior art limitations with regards to graphical architecture for generating the graphical output. One common problem in the handheld device is the available memory resources. Current graphics rendering techniques, including three-dimensional graphics rendering techniques, require an extensive amount of memory in the performance of the various rendering steps in an image-processing pipeline.
Furthermore, graphic images may also be memory intensive due to compression techniques requiring a full stored image for the completion of a compression operation. In existing handheld devices, due to size requirements, there are limited of memory resources.
Another specific limitation found within current handheld devices is the limited physical real estate for placing graphics rendering engines and the limited real estate for placing memory. As handheld devices become more compact, there exists less real estate for the insertion of additional memory needed for image rendering. Therefore, problems arise in attempting to utilize existing graphics processors in handheld devices.
FIG. 1 illustrates a prior art handheld device 100 having a camera 102, a fixed size buffer 104, a JPEG processor 106 and a maximum decode size buffer 108. The camera 102 may be any suitably sized camera capable of capturing a video image 110 which is provided to the fixed sized buffer 104. In the handheld device 100, the fixed sized buffer 104 must be large enough to capture a single frame of the image 110 and is dependent on the size of the image 110 acquired by the camera 102, for example if the camera 102 acquires the image 110 with a resolution of 64 lines of 16 bits, the buffer 104 would contain enough memory locations to store the single image 110. Although, larger memory 104 may be utilized to provide for the ability of acquiring a streaming video or multiple images, as recognized by one having ordinary skill in the art.
In the typical handheld device 100, the image 110 is then displayed to the user in a thumbnail fashion, requiring a compression engine to construct a thumbnail of the image 110. In one embodiment, the JPEG processor 106 retrieves a stored image 112 and the stored image 112 is processed by the JPEG processor 106, in accordance with known JPEG processing techniques.
The JPEG processor 106 thereupon generates a decoded image 114, wherein the decoded image 114 is stored in the buffer 108. The size of the buffer 108 is fixed by the size of the decoded image 114. Therefore, the handheld device 100 must have 2 memory buffers 104 and 108, wherein the size of the memory buffers 104 and 108 are dictated by the camera 102 and the maximum decoded size of the image 114. The handheld device 100 requires either large memory buffers 104 and 108 or a reduction in the quality/resolution of the camera 102.
As such, there exists a need for a method and apparatus that overcomes the memory resource requirements within a handheld device and allows for quality image processing while maintain image acquisition technologies and image processing techniques.